home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 23 / AACD 23.iso / AACD / Resources / System / SnoopDos / Readme_3.7 < prev    next >
Text File  |  2001-04-12  |  6KB  |  117 lines

  1.  
  2.              SnoopDos 3.6 -- System and application monitor
  3.  
  4.      Copyright © Eddy Carroll, September 1994. Freely distributable.
  5.  
  6.      Updated on January 2000 by Luca Longone and Massimo Tantignone
  7.                 with permission of the original author.
  8.  
  9.      Updated again on March 2000 by Grzegorz Chmie and Thomas Richter.
  10.  
  11.      Updated to 3.4 on August 2000 by Thomas Richter.
  12.  
  13.      Updated to 3.6 on Febrary 2001 by Thomas Richter
  14.  
  15.      Updated to 3.7 on March/April 2001 by Thomas Richter
  16.  
  17.  
  18.  * VERY IMPORTANT NOTE: this archive contains an updated version of the
  19.  * SnoopDos executable, with the version number bumped to 3.7. This was
  20.  * NOT made by the original SnoopDos author, Eddy Carroll, but instead
  21.  * by Luca Longone and Massimo Tantignone, and Grzegorz Chmie 
  22.  * and Thomas Richter (with Eddy Carroll's approval).
  23.  *
  24.  * NOTE ABOUT THE 3.7 UPDATE
  25.  *
  26.  * The 3.7 release fixes mainly some cosmetic issues. First of all, the
  27.  * semaphore arbitration time changed from 3.6 to 3.7 and was chosen much
  28.  * smaller, and was made dependent on task priorities. Even though the 3.6
  29.  * should not have deadlocked ever, it might have happened that the System
  30.  * appeared frozen for half a minute due to lots of semaphore timeouts.
  31.  * Furthermore, the 3.7 adds Forbid()/Permit() around FindTask() and FindPort();
  32.  * they are not really required as the corresponding tasks and ports cannot
  33.  * go away in any event, but PatchWork complained about it with a warning.
  34.  *
  35.  * NOTE ABOUT THE 3.6 UPDATE
  36.  *
  37.  *  Note that there's no 3.5 update, it was an internal release that never
  38.  *  made it to the public.
  39.  *  The 3.6 update fixes two major bugs. The first bug is that the LoadSeg()
  40.  *  patch did not kept care about overlayed files and therefore might have
  41.  *  trashed overlayed programs. Note that LoadSeg() takes actually three
  42.  *  arguments and not one!
  43.  *  The second bug is even more severe, and is only partially fixed by this
  44.  *  release. SnoopDos semaphore handling was and still is extremly fragile.
  45.  *  SnoopDos 3.4 and before could have run into a race condition caused by
  46.  *  a cycling semaphore lock-up of three partners the patch code did not and
  47.  *  cannot check for. SnoopDos, workbench and input device hung then
  48.  *  simultaneously.
  49.  *  There are other race conditions of this kind, and all of them could only
  50.  *  be fixed if the patch code of SnoopDos would be completely re-designed,
  51.  *  a job I currently cannot and will not do.
  52.  *  Therefore, SnoopDos 3.6 contains a workaround and uses now a semaphore
  53.  *  mechanism which may "time out". The net effect is that at least the most
  54.  *  common semaphore deadlock should be avoidable now, but at the price that
  55.  *  the SnoopDos main window cannot be guaranteed to be 100% accurately up-
  56.  *  dated. Hence, in case the main window seems to have forgotten to update
  57.  *  its snoop list, or the result codes of some snoop entries are missing, or
  58.  *  some reports seem to be missing at all, don't worry! The alternative in 
  59.  *  these cases would have been to deadlock your system. As a side effect,
  60.  *  the ugly layers semaphore check was disabled now as it is no longer
  61.  *  needed, and in fact never really worked as it was unable to detect a
  62.  *  cyclic deadlock of three or more partners.
  63.  *
  64.  *
  65.  *
  66.  * NOTE ABOUT THE 3.4 UPDATE
  67.  *
  68.  * This update fixes one feature, and one bug. The feature is that the
  69.  * stack swap code was removed from SnoopDos 3.2 and up, and since people
  70.  * tend not to read the instructions, SnoopDos crashed on some machines due
  71.  * to stack overflow. The 3.4 release checks therefore for its stack size
  72.  * and will increase it to the minimal recommended size.
  73.  * The bug is that a possible race condition when closing the main window
  74.  * was overlooked. The 3.3 and earlier releases could have caused some
  75.  * "hits" in case the main window was closed while some other program run
  76.  * in the patch routines.
  77.  *
  78.  *
  79.  * NOTE ABOUT THE 3.3 UPDATE
  80.  *
  81.  * This update fixes a flaw of the 3.2 release that somehow was unnoticed.
  82.  * The 3.2 release could not be run from Workbench, due to an unexpected
  83.  * re-define of the WBenchMsg variable to _WBenchMsg in some of the SAS/C
  84.  * headers which broke the new startup code. I really did not expect 
  85.  * this, sorry. Except the version number, and a slightly different compiler
  86.  * option, nothing changed.
  87.  *
  88.  * The 3.2 update was made to remove one additional frequent enforcer hit
  89.  * that appeared when the snoopdos patches have been called in the middle
  90.  * of a graphics operation. In that case, RastPort->Layer is NULL'd and
  91.  * the code didn't check. Fixed.
  92.  * Another improvement is that SnoopDos accepts now "NewIcons" style
  93.  * icons correctly for iconification.
  94.  * General house keeping work has been done, one header file has been
  95.  * enlarged to include all the required prototypes, and the code was 
  96.  * recompiled with the registerized parameter option, making it quite
  97.  * noticably shorter. (And maybe quite unnoticably faster as well :-)
  98.  *
  99.  * For the more suspicious people, the updated source code is on Aminet
  100.  * as well (util/moni/snoopdos32_src.lha). 
  101.  *
  102.  * The SnoopDos executable was recompiled for the plain 68000 again because
  103.  * I do not see the point why to go for an 68020 if it is not necessary.
  104.  * The code shrunk anyhow and I do not notice a speed improvement by using
  105.  * the 68020 switch.
  106.  *
  107.  * The original SnoopDos 3.0 documentation is included in this update
  108.  * without any modification, but please note that all references to PGP
  109.  * can't be applied to this update. If you need confirmation about the
  110.  * genuine nature of this update you can ask us or the original author.
  111.  *
  112.  * Luca Longone:       llong@tin.it, hexaee@tiscalinet.it
  113.  * Massimo Tantignone: tanti@intercom.it
  114.  * Grzegorz Chmie:     gchmiel@pnet.pl
  115.  * Thomas Richter:     thor@math.tu-berlin.de
  116.  * Eddy Carroll:       ecarroll@iol.ie
  117.